import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;

import javax.net.ssl.SSLEngineResult.Status;


public class StateTest {

	public static void main(String[] args)
	{
		System.out.println("Standard State");
		State state = new State();
		System.out.println(state.toString());
		
//		System.out.println(state.toString());
//		
//		System.out.println("next State from String");
//		String input = 	"w,1,\n" +
//						"k,q,b,n,r,\n" +
//						"p,p,p,p,p,\n" +
//						".,.,.,.,.,\n" + 
//						".,.,.,.,.,\n" +
//						"P,P,P,P,P,\n" +
//						"R,N,B,Q,K,\n";
//		
//		state = new State(input);
//		System.out.println(state.toString());
//		
//		System.out.println("next State from Stream");
//		
//		try
//		{
//		FileInputStream fis = new FileInputStream("C:\\chessinput.txt");
//		
//		state = new State(fis);
//		
//		fis.close();
//		}
//		catch(Exception e)
//		{
//			System.out.println("Exception: " + e.getClass().getName());
//			if(e.getMessage() != null)
//			{
//				System.out.println("Fehler: " + e.getMessage());
//			}
//		}
//		
//		System.out.println(state.toString());
//
//		System.out.println("Move: a2-a3");
//		state.move("a2-a3");
//		System.out.println(state.toString());
//		
//		System.out.println("Move: e5-e4");
//		state.move("e5-e4");
//		System.out.println(state.toString());
//		
//		System.out.println("Move: a3-a4");
//		state.move("a3-a4");
//		System.out.println(state.toString());
//		
//		System.out.println("Move: c4-c3");
//		state.move("a3-a4");
//		System.out.println(state.toString());
//		
//		
//		System.out.println("Test print");
//		FileOutputStream fos_ref=null;
//		
//		try
//		{
//			fos_ref = new FileOutputStream("C:\\test.txt");
//			
//			state.print(fos_ref);
//			
//			fos_ref.close();
//		}
//		catch(Exception e)
//		{
//			System.out.println("Exception: " + e.getClass().getName());
//			if(e.getMessage() != null)
//			{
//				System.out.println("Fehler: " + e.getMessage());
//			}
//		}
//		
//		
		System.out.println("Test allmoves of: " + state.getOnMove());
		ArrayList<Move> allmoves = state.moveGen();
		
		System.out.println(allmoves);
		
		
	}

}
